home *** CD-ROM | disk | FTP | other *** search
/ PC Master 5 / PC MASTER 5.iso / INTERNET / KIT / WIN95 / MSIE30.EXE / ieakjava.exe / classr.exe / com / ms / lang / RegKey.class (.txt) next >
Encoding:
Java Class File  |  1997-01-31  |  3.5 KB  |  198 lines

  1. package com.ms.lang;
  2.  
  3. import java.util.Date;
  4.  
  5. public class RegKey {
  6.    private static final int HKEY_CLASSES_ROOT = Integer.MIN_VALUE;
  7.    private static final int HKEY_CURRENT_USER = -2147483647;
  8.    private static final int HKEY_LOCAL_MACHINE = -2147483646;
  9.    private static final int HKEY_USERS = -2147483645;
  10.    public static final int KEYOPEN_READ = 1;
  11.    public static final int KEYOPEN_WRITE = 2;
  12.    public static final int KEYOPEN_ALL = 3;
  13.    public static final int KEYOPEN_CREATE = 4;
  14.    public static final int CLASSES_ROOT = 1;
  15.    public static final int LOCALMACHINE_ROOT = 2;
  16.    public static final int USER_ROOT = 3;
  17.    public static final int USERS_ROOT = 4;
  18.    private boolean keyOpen;
  19.    private int regKey;
  20.    private boolean fullKey;
  21.    private static final RegKey hkeyClassesRoot = new RegKey(-2147483648L);
  22.    private static final RegKey hkeyCurrentUser = new RegKey(-2147483647L);
  23.    private static final RegKey hkeyLocalMachine = new RegKey(-2147483646L);
  24.    private static final RegKey hkeyUsers = new RegKey(-2147483645L);
  25.  
  26.    public String getStringValue(String var1) {
  27.       return this.pRegQueryStringValue(var1);
  28.    }
  29.  
  30.    private native void pRegSetIntValue(String var1, int var2);
  31.  
  32.    private native void pRegDeleteValue(String var1);
  33.  
  34.    private RegKey(long var1) {
  35.       this.pRegOpenBaseKey((int)var1);
  36.    }
  37.  
  38.    public static final RegKey getRootKey(int var0) {
  39.       SecurityManager var1 = System.getSecurityManager();
  40.       if (var1 != null) {
  41.          var1.checkRegistry();
  42.       }
  43.  
  44.       switch (var0) {
  45.          case 1:
  46.             return hkeyClassesRoot;
  47.          case 2:
  48.             return hkeyLocalMachine;
  49.          case 3:
  50.             return hkeyCurrentUser;
  51.          case 4:
  52.             return hkeyUsers;
  53.          default:
  54.             return null;
  55.       }
  56.    }
  57.  
  58.    public RegKey(RegKey var1, String var2, int var3) {
  59.       SecurityManager var4 = System.getSecurityManager();
  60.       if (var4 != null) {
  61.          var4.checkRegistry();
  62.       }
  63.  
  64.       if (var3 == 4) {
  65.          this.pRegCreateKey(var1, var2);
  66.       } else {
  67.          this.pRegOpenKey(var1, var2, var3);
  68.       }
  69.  
  70.    }
  71.  
  72.    public RegQueryInfo queryInfo() {
  73.       RegQueryInfo var1 = new RegQueryInfo();
  74.       int var2 = this.pRegQueryInfoKey(var1);
  75.       if (var2 != 0) {
  76.          int var3 = var2 & 31;
  77.          var2 >>= 5;
  78.          int var4 = (var2 & 15) - 1;
  79.          var2 >>= 4;
  80.          int var5 = (var2 & 127) + 1980 - 1900;
  81.          var2 >>= 7;
  82.          var2 >>= 5;
  83.          int var6 = var2 & 63;
  84.          var2 >>= 6;
  85.          int var7 = var2 & 31;
  86.          var1.lastWriteTime = new Date(var5, var4, var3, var7, var6);
  87.       } else {
  88.          var1.lastWriteTime = null;
  89.       }
  90.  
  91.       return var1;
  92.    }
  93.  
  94.    private native void pRegOpenKey(RegKey var1, String var2, int var3);
  95.  
  96.    public void unload(String var1) {
  97.       this.pRegUnLoadKey(var1);
  98.    }
  99.  
  100.    public void deleteSubKey(String var1) {
  101.       this.pRegDeleteKey(var1);
  102.    }
  103.  
  104.    private native void pRegCreateKey(RegKey var1, String var2);
  105.  
  106.    private native void pRegDeleteKey(String var1);
  107.  
  108.    public void restore(String var1, boolean var2) {
  109.       this.pRegRestoreKey(var1, var2);
  110.    }
  111.  
  112.    public void flush() {
  113.       this.pRegFlushKey();
  114.    }
  115.  
  116.    private native void pRegCloseKey();
  117.  
  118.    private native int pRegQueryInfoKey(RegQueryInfo var1);
  119.  
  120.    private native void pRegSetStringValue(String var1, String var2);
  121.  
  122.    private native void pRegOpenBaseKey(int var1);
  123.  
  124.    private native void pRegSetBinaryValue(String var1, byte[] var2);
  125.  
  126.    private native byte[] pRegQueryBinaryValue(String var1);
  127.  
  128.    private native String pRegQueryStringValue(String var1);
  129.  
  130.    public String enumKey(int var1) {
  131.       return this.pRegEnumKey(var1);
  132.    }
  133.  
  134.    public void loadKey(String var1, String var2) {
  135.       this.pRegLoadKey(var1, var2);
  136.    }
  137.  
  138.    private native void pRegLoadKey(String var1, String var2);
  139.  
  140.    private native String pRegEnumKey(int var1);
  141.  
  142.    private native void pRegRestoreKey(String var1, boolean var2);
  143.  
  144.    private native void pRegReplaceKey(String var1, String var2, String var3);
  145.  
  146.    public void finalize() {
  147.       if (this.keyOpen) {
  148.          this.close();
  149.       }
  150.  
  151.    }
  152.  
  153.    public RegKeyEnumValue enumValue(int var1) {
  154.       return this.pRegEnumValue(var1);
  155.    }
  156.  
  157.    public void setValue(String var1, String var2) {
  158.       this.pRegSetStringValue(var1, var2);
  159.    }
  160.  
  161.    public void setValue(String var1, byte[] var2) {
  162.       this.pRegSetBinaryValue(var1, var2);
  163.    }
  164.  
  165.    private native void pRegUnLoadKey(String var1);
  166.  
  167.    public void deleteValue(String var1) {
  168.       this.pRegDeleteValue(var1);
  169.    }
  170.  
  171.    public int getIntValue(String var1) {
  172.       return this.pRegQueryIntValue(var1);
  173.    }
  174.  
  175.    public void setValue(String var1, int var2) {
  176.       this.pRegSetIntValue(var1, var2);
  177.    }
  178.  
  179.    public void close() {
  180.       this.pRegCloseKey();
  181.       this.keyOpen = false;
  182.    }
  183.  
  184.    private native RegKeyEnumValue pRegEnumValue(int var1);
  185.  
  186.    public void replace(String var1, String var2, String var3) {
  187.       this.pRegReplaceKey(var1, var2, var3);
  188.    }
  189.  
  190.    private native void pRegFlushKey();
  191.  
  192.    private native int pRegQueryIntValue(String var1);
  193.  
  194.    public byte[] getBinaryValue(String var1) {
  195.       return this.pRegQueryBinaryValue(var1);
  196.    }
  197. }
  198.